﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FindArbitrageConsole.Data.Model;


namespace FindArbitrageConsole.Data
{
    public interface IDataService
    {
        IEnumerable<KefData> GetAllMaxKefs();
        IEnumerable<KefData> GetAllMaxKefsAfterUpdateTime(DateTime moreThanUpdateTime);

        IEnumerable<KefData> GetAllKefs();
        IEnumerable<KefData> GetAllKefsAfterUpdateTime(DateTime moreThanUpdateTime);

        IEnumerable<int> GetAllEvents();

        IEnumerable<ExtendedArbitrageLinkData> GetExtendedArbitrageLinks();

        void WriteNewArbitrages(List<IEnumerable<ArbitrageLinkData>> listArbitrages, DateTime currentTime);
        void UpdateExistingArbitrages(IEnumerable<int> arbitrageIds, DateTime updateTime);
        void DeleteIrrelevantArbitrages(DateTime currentTime);
    }
}
